"""
随机森林具有极好的准确率
能有效运行在大数据集上,处理具有高维特征的样本,而且不用降维
训练集随机 - 随机有放回的抽取
特征随机 - 随机抽取特征
森林 - 多个决策树
准确率: 97%
"""
from sklearn.datasets import load_iris
from sklearn.model_selection import train_test_split, GridSearchCV
from sklearn.ensemble import RandomForestClassifier

# 1 获取数据
iris = load_iris()
# 2 划分数据集
x_train,x_test,y_train,y_test = train_test_split(iris.data,iris.target,random_state=6)
# 3 随机森林
estimator = RandomForestClassifier()
# 网格搜索与交叉验证
param_dict = {'n_estimators': [3,5,7]}
# cv 对折
estimator = GridSearchCV(estimator,param_grid=param_dict,cv=4)
estimator.fit(x_train,y_train)
# 4 模型评估
print('最佳参数: ',estimator.best_params_)
print('最佳结果: ',estimator.best_score_)
print('最佳估计器: ',estimator.best_estimator_)
print('交叉验证结果: ',estimator.cv_results_)